Scala语言概述
第1章、 Scala语言概述
==知识结构==
Scala这门课主要分为以下几个阶段进行学习。
1、Scala语言概述
2、Scala基础知识
3、Scala数据结构
4、Scala面向对象
5、Scala函数式编程
1. scala语言概述
1.1、学习任务
1、了解Scala语言特点
2、学会配置Scala环境
3、配置IDE并用Scala写第一个程序
1.1、发展历史
Scala是Scalable Language的简写,是一门多范式的编程语言,
联邦理工学院洛桑的MartinOdersky于2001年基于Funnel的工作开始设计Scala。
Funnel是把函数式编程思想和Petri网相结合的一种编程语言。
Odersky先前的工作是Generic Java和javac(Sun Java编译器)。Java平台的Scala于2003年底/2004年初发布。.NET平台的Scala发布于2004年6月。该语言第二个版本,v2.0,发布于2006年3月。
截至2009年9月,最新版本是版本2.7.6 。Scala 2.8预计的特性包括重写的Scala类库(Scala collections library)、方法的命名参数和默认参数、包对象(package object),以及Continuation。
2009年4月,Twitter宣布他们已经把大部分后端程序从Ruby迁移到Scala,其余部分也打算要迁移。此外, Wattzon已经公开宣称,其整个平台都已经是基于Scala基础设施编写的。
1.2、大事记
2001年,Scala 的设计在 EPFL 开始;
2004年初,Java 版发布;
2004年6⽉月,.NET 版发布;
2006年3⽉月,Scala 2.0 Java 版发布;
2011年5⽉月,Odersky和Jonas Bonér 创办 Typesafe;
2012年,官⽅方停⽌止维护 Scala .NET 版;
2014年,Scala 2.11.2 发布
2019年,Scala 2.13.0 发布
2、Scala简介
2.1、编程范式
2.1.1、命令式编程
是一种描述电脑所需作出的行为的编程典范。几乎所有电脑的硬件工作都是指令式的;命令式编程关心解决问题的步骤,如JAVA,C等2.1.2、函数式编程
它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。函数式编程关心的是数据的映射,重视数据集之间的变换。
2.2、Scala语言特点
1、多范式编程语言,兼具命令式与函数式
面向对象
一切值都是对象,从这一点来说,是一门纯面向对象的语言,对象的类型和行为由类和特质描述。这方面类似java。函数式
在scala中,一切函数都是值,函数也可作为另一个函数的参数,因此scala是一门函数式语言。这一点又和python类似。因此我们说scala集成了java和python的特性
2、基于JVM,可以和java无缝混编
3、语言简洁优雅
如果你写过java,就会对这一点体会深刻,scala几行代码就能搞定java一个很复杂的操作,就代码量而已,scala会少很多4、Scala商业成功
Spark,Kafka,因此Scala广泛应用于大数据领域
2.3、scala生态圈
我们这里scala主要是以大数据应用领域为基础的,因此我们的课程主要包括scala的基础语法以及面向对象和函数式编程等,关于其他的不在我们这么课计划中。
3、环境配置
此处的版本为,JDK-1.8.0_211,Scala-2.11.12
==切记不要装最新版本的,后期会出现很多版本兼容的问题==
jdk环境配置-win版
Scala依赖JDK环境,首先确保本机已安装JDK相关环境
3.1、下载
3.1.1、win版配置
下载地址
在此处下载响应的版本
按照提示一步一步安装,同JDK。
3.1.2、环境变量配置
右击我的电脑,单击"属性",进入如图所示页面。下面开始配置环境变量,右击【我的电脑】--【属性】--【高级系统设置】--【环境变量】,如图:
在变量命中输入SCALA_HOME,变量值中输入Scala的安装目录。
设置Path变量
[图片上传失败…(image-940d4f-1560333533701)]
环境设置好了之后输入,调出cmd,输入scala,成功可以看到如下信息
3.1.2、mac版配置
mac版安装同上,下载相应的mac版本,按照提示一路安装即可。
mac版本的配置
配置SCALA_HOME
,然后在Path中添加SCALA_HOME即可
1export SCALA_HOME=/Users/sunliangliang/Documents/develop-tools/scala-2.11.12
2PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH:.
安装成功后如下图所示
4、第一个Scala程序
4.1、交互式环境
我们看到可以直接打印输出,也可以直接计算。
4.2、IDEA和Scala
1、idea安装Scala插件
Prefrences->Plugins->search("scala"),安装即可
2、idea配置Scala SDK
第一次配置的时候需要配置SDK
Browse找到Scala的安装目录,选中SDK配置成功。
3、创建项目
4、第一个demo
1package com.tedu.fast
2
3/**
4 * Describe:
5 *
6 * @Author sunliang
7 * @Since 2019/06/12
8 */
9object Helloworld {
10
11 def main(args: Array[String]): Unit = {
12 print("Hello world")
13 }
14}
代码结构如下
至此我们就完成了IDEA和SCALA的整合
==注意事项==
类型Kind选择的是Object不是Class,(Object可以编译有main函数入口,因此可以在IDEA中直接Run)
限时扫码关注领取600页+Spring官方教程小书
限时3周免费下载
长按识别二维码关注SpringForAll社区公众号
在公众号回复“Spring”或者"spring"即可获取
点击原文阅读更多
上一篇:Spring源码(七)-IOC中的那些设计模式我们来一起捋捋